package Leetcode.数组字符串;

import java.util.Scanner;

/**
 * @Author: kirito
 * @Date: 2024/3/23 12:14
 * @Description:
 * 【查找无序数组中第二大的元素】
 *
 * 问题描述:
 *
 * 输入一个无序数组data[] , 且数组中无重复元素，查找出第二大元素。要求: 时间复杂度为O(n)。
 *
 * 输入描述:
 *
 *
 * 输入无序数组data[], 且数组中无重复元素
 *
 * 输出描述:
 *
 *
 * 输出数组中第二大元素
 *
 * 输入样例:
 *
 *
 * 3 8 2 9 12
 *
 * 输出样例:
 *
 *
 * 9
 */

public class findSecondMax {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine().toString();
        String strArr[] = str.split(" ");
        int data[] = new int[strArr.length];
        for(int i=0; i < data.length; i++) {
            data[i] = Integer.parseInt(strArr[i]);
        }
        System.out.println(secondMax(data));
    }

    private static int secondMax(int[] data) {
        int max = Integer.MIN_VALUE;
        int secondMax = Integer.MIN_VALUE;
        int len = data.length;
        for (int i = 0; i < len; i++) {
            if (data[i] > max) {
                secondMax = max;
                max = data[i];
            }else{
                secondMax = Math.max(data[i], secondMax);
            }
        }
        return secondMax;
    }
}
